﻿NJominiMapGraphics = {
	MAP_OBJECT_CELL_COUNT = 100
	MAP_OBJECT_FADE_SPEED = 3.0

	COUNTRY_NAMES_TEST_LINES_SPACING = 1000.0 # 10.0
	COUNTRY_NAMES_SCALE = 0.75
	COUNTRY_NAMES_SCALE_CAP_WIDTH = 0.9
	COUNTRY_NAMES_SCALE_CAP_HEIGHT = 0.6
	COUNTRY_NAMES_NUM_LINE_TESTS = 5
	COUNTRY_NAMES_MAX_STRETCH_FACTOR = 1.6
	COUNTRY_NAMES_LOD_FACTOR = 0.05	# Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio
	COUNTRY_NAMES_THICKNESS_BIAS = 0.015	# More bias = thicker map names. Can be used to solve artifacts caused by thin areas
	COUNTRY_NAMES_STRIDE_SIZE = 4
}

NJominiGraphics = {
	BLOOM_ITERATIONS = 3
	NULL_ENTITY = "test_object_entity"
	NULL_MESH = "test_object_mesh"
}

NGraphics = {
	MOON_HEIGHT = 600 # higher means softer shadows and more intense light
	SUN_HEIGHT  = 600 # higher means softer shadows and more intense light
	DRAW_FOW_CUTOFF = 400
	DRAW_FOW_FADE_LENGTH = 350
	SUN_LATITUDE  = 848
	DRAW_SHADOWS_CUTOFF = 400
	DRAW_SHADOWS_FADE_LENGTH = 50
	MAX_MESHES_LOADED_PER_FRAME = 100
	ARROW_MOVEMENT_SPEED = 2.0
	DRAG_SELECTION_THRESHOLD = 20.0 # if selecting less than this it will count as a click instead of dragselect
	HIGHLIGHT_TIMEOUT = 2.0

	FLAT_MAP_HEIGHT = 3.92
	FLAT_MAP_FADE_SPEED = 3		# How fast to fade to/from flat map state
	FLAT_MAP_ZOOM_STEP = 20 # 21			# At which zoom step to fade to flat map

	SURROUND_MAP_INNER_RECT = { 500.0 1000.0 500.0 3700.0 } 			#x-start, y-start, x-end, y-end
	#SURROUND_MAP_OUTER_RECT = { 0.0 0.0 6500.0 4100.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_OUTER_RECT = { -10000.0 -10000.0 20000.0 20000.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_TILE_FACTOR = { 3 1.5 }
	SURROUND_MAP_CLOUDHEIGHT = 5.0
	SURROUND_MAP_MINCLOUDALPHA = 0.1
	SURROUND_MAP_MAXCLOUDALPHA = 0.5
	SURROUND_MAP_PARALLAXSTRENGTH = 30.0
	SURROUND_MAP_PARALLAXFADEFACTOR = 1000.0
	SURROUND_MAP_BASECLOUDTILEFACTOR = { 5.0 2.5 }		# Large shapes scale
	SURROUND_MAP_BASECLOUDSCROLLING = { 0.0025 0.00125 }		# Large shapes direction
	SURROUND_MAP_BASECLOUDSTRENGTH = 20.0					# Large shapes normals strength
	#	SURROUND_MAP_BASECLOUDSTRENGTH = 0.1
	SURROUND_MAP_CLOUD1TILEFACTOR = { 4.0 4.0 }				# Mid scale
	SURROUND_MAP_CLOUD1SCROLLING = { 0.0025 -0.0025 }			# Mid direction
	SURROUND_MAP_CLOUD1STRENGTH = 1.0						# Mid strength
	#	SURROUND_MAP_CLOUD1STRENGTH = 0.1
	SURROUND_MAP_CLOUD2TILEFACTOR = { 8.0 8.0 }
	SURROUND_MAP_CLOUD2SCROLLING = { -0.0015 0.0015 }
	SURROUND_MAP_CLOUD2STRENGTH = 0.99
	#	SURROUND_MAP_CLOUD2STRENGTH = 0.1
	SURROUND_MAP_LOWCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_HIGHCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_SHADOWCOLOR = { 0.9 0.0 0.0 }

	WINTER_GRAPHICS_DEFAULT_FADE_SPEED = 0.1				# Snow fade speed of game snow, used when the game is paused
	WINTER_GRAPHICS_FADE_SPEEDS = { 0.2 0.2 0.2 0.3 0.34 } 		# Snow fade speed of game snow based on the current game speed if the game is unpaused. If 0 is defined for a speed, it will use WINTER_GRAPHICS_DEFAULT_FADE_SPEED instead
	WINTER_GRAPHICS_NEW_FADE_SPEED = 0.3					# Snow fade speed of hemisphere mask based snow
	WINTER_GRAPHICS_SNOW_START_DAY = 273					# Day where hemisphere snow starts to build up ( Min: day 183 )
	WINTER_GRAPHICS_SNOW_PEAK_DAY = 365						# Day where hemisphere snow reaches maximum build up ( Nax: day 365 )
	WINTER_GRAPHICS_WINTER_LEVELS = { 0.0 0.3 0.6 1.0 }		# The levels of snow correspond to different intensities

	ERRORHOOF_DIVISOR = 100
}

NCourt = {
	COURT_EMISSIVE_STRENGTH = 5			# Strength of all emissive materials in the court shader
	COURT_GEMCUBE_STRENGTH = 1			# Strength of cubemap in the gemcube shader
	SECONDARY_SHADOW_STRENGTH = 1
	SHADOW_DEPTH_FACTOR = 1000
	COURT_HOVER_GROW = 2.5				# Speed for hover effect increase in royal court scene
	COURT_HOVER_FADE = -8.				# Speed for hover effect fade in royal court scene
}

NDomicile = {
	LANDLESS_RULERS_ZOOM_LOBBY = 5							# Zoom level when clicking landless rulers in the lobby
	INTERNAL_UPGRADES_SCROLL_BAR_STEP = 5					# As you click right and left arrows, how many items are shifted sideways
	INTERNAL_UPGRADES_SCROLL_BAR_MAX_ITEMS = 5				# How many internal upgrades in the scroll bar are visible at the same time
	UPGRADE_TREE_LINE_OFFSET = { 50 50 }					# Where does the line start below each upgrade node (x, y)
	UPGRADE_TREE_LINE_TO = { -45 46 }						# Where does the line end (x, y) becomes line length
	UPGRADE_TREE_DISTANCE_TO_PARENT = 1.7					# Distance to parent node
	UPGRADE_TREE_DISTANCE_TO_SIBLING = 1.3					# Distance between sibling nodes
	TEMPERAMENT_ANIMATION_LOW = "menacing"					# Animation used by featured character of low group
	TEMPERAMENT_ANIMATION_NEUTRAL = "drink"					# Animation used by featured character of neutral group
	TEMPERAMENT_ANIMATION_HIGH = "lute_active"		# Animation used by featured character of high group
}

NBarbershop = {
	BARBERSHOP_PORTRAIT_POSITION_MAIN = { 1220.0 216.0 }
	BARBERSHOP_PORTRAIT_POSITION_SECONDARY = { 1038.0 216.0 }
	BARBERSHOP_PORTRAIT_POSITION_HEIR = { 1408.0 216.0 }
	BARBERSHOP_PORTRAIT_POSITION_COUNCIL_MAIN = { 1093.0 261.0 }
	BARBERSHOP_PORTRAIT_POSITION_PINNED_MIN = { 538.0 216.0 }
	BARBERSHOP_PORTRAIT_POSITION_PINNED_MAX = { 1688.0 216.0 }
	BARBERSHOP_PRESET_COUNCIL_IN_FRONT_ROW_MAIN = yes
	BARBERSHOP_GLOW_SIZE_BABY = { 280 380 }
	BARBERSHOP_GLOW_SIZE_CHILD = { 400 600 }
	BARBERSHOP_GLOW_SIZE_ADULT = { 480 790 }
	BARBERSHOP_GLOW_FACTOR_DISTANT = 0.6
	BARBERSHOP_GLOW_FACTOR_FAR = 0.8
	BARBERSHOP_GLOW_FACTOR_DEFAULT = 1
	BARBERSHOP_GLOW_FACTOR_NEAR = 1.2
	BARBERSHOP_GLOW_FACTOR_CLOSE = 1.4
	BARBERSHOP_SHADOW_SCALE_DISTANT = 0.28
	BARBERSHOP_SHADOW_SCALE_FAR = 0.38
	BARBERSHOP_SHADOW_SCALE_DEFAULT = 0.58
	BARBERSHOP_SHADOW_SCALE_NEAR = 0
	BARBERSHOP_SHADOW_SCALE_CLOSE = 0
}

NCamera = {
	FOV	= 60 # Field-of-View
	ZNEAR = 10
	ZFAR = 100000

	SHADOW_DISTANCE_FACTOR = 5 # Influences if distant shadows are rendered or not (higher means more distant shadows are rendered)
	EDGE_SCROLLING_PIXELS = 5 # how many pixels from window edge that will trigger edge scrolling

	SCROLL_SPEED = 0.045 # higher values = faster camera. NOTE that this is tweakables from settings as well!
	ZOOM_RATE = 0.2 # Zoom when right-mouse down
	# STEPS        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
	ZOOM_STEPS = { 204 229 260 300 350 405 461 518 578 643 714 793 881 981 1092 1218 1360 1521 1703 1903 2116 2341 2573 2809 3047 3282 3512 3733 3960 4190 4420 4650 5000 8000 15000 }	# Zoom steps
	# STEPS                  0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
	ZOOM_STEPS_TILT =      { 50 53 56 59 62 65 67 70 72 74 76 77 79 80 82 83 83 84 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 70 55 }		# Default zoom tilt when zooming in or out
	ZOOM_STEPS_MIN_TILT =  { 40 41 43 44 45 46 47 48 49 50 51 52 52 53 54 54 54 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 50 40 }
	ZOOM_STEPS_MAX_TILT =  { 70 73 76 78 80 82 84 85 86 87 88 88 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 }
	ZOOM_STEPS_STICK_IN =  {  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 }		# Which zoom steps should 'stick' for how many steps, when zooming in
	ZOOM_STEPS_STICK_OUT = {  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  9  0  0 }		# Which zoom steps should 'stick' for how many steps, when zooming out
	ZOOM_AUDIO_PARAMETER_SCALE = 0.1		# The audio parameter "CameraHeight" will be set to the camera's height X ZOOM_AUDIO_PARAMETER_SCALE

	MAX_PAN_TO_ZOOM_STEP = 4							# The camera will lower to this height (but only if above it) when panning to characters/provinces etc.
	START_LOOK_AT = { 5500.0 0 5800.0 } # { 3860.0 0 1730.0 }					# Initial look at (X/Y)
	START_ZOOM_STEP = 32								# Initial zoom step

	MAPTABLE_FLOOR_LEVEL = -3100 						# What is the floor level of the map-table view (influences shadows)
	MAPTABLE_CEILING_LEVEL = 3000 						# What is the ceiling level of the map-table view (influences shadows)
	MAPTABLE_SHADOW_DISTANCE_FACTOR = 20				# Influences if distant shadows are rendered or not (higher means more distant shadows are rendered)

	# Debug defines
	DEBUG_GAMEPAD_LOWSPEED 		= 25.0
	DEBUG_GAMEPAD_NORMALSPEED 	= 100.0
	DEBUG_GAMEPAD_HIGHSPEED 	= 300.0
	DEBUG_GAMEPAD_SENSITIVITY 	= 2.0

	TITLE_ZOOM_LEVEL_BY_EXTENT = { 20 15 13 11 9 7 5 4 3 }
	TITLE_ZOOM_LEVEL_EXTENTS = { 1000 800 600 400 300 200 100 -1 }
	TITLE_ZOOM_OFFSET_IF_LEFT_VIEW_SHOWN = { 230 175 145 120 95 70 50 40 30 } # We pretend the center point of the title is this far to the west if a left-view (E.G., the title view) is shown, and no right-view. It ensures that it ends up centered in the part of the screen not obscured by the UI

	PANNING_WIDTH =  12000 # 6400
	PANNING_HEIGHT = 12000 # 4096

	ROYAL_COURT_TOOL_MOVEMENT_SPEED = 6.0 				# Camera movement speed with WASD keys.
	ROYAL_COURT_TOOL_MOVEMENT_SPEED_FAST = 18.0 		# Camera movement speed with WASD keys while SHIFT is pressed.
	ROYAL_COURT_TOOL_LOOK_AROUND_SENSITIVITY = 1.0 		# How fast camera looks around when holding RMB.
	ROYAL_COURT_TOOL_LOOK_AROUND_SMOOTHNESS = 0.45 		# Camera looking around smooth interpolation. Value must be 1 or less and greater than 0. 1 = no interpolation.
	ROYAL_COURT_TOOL_LOOK_VERTICAL_LIMIT_ANGLE = 2.0 	# Looking up/down angle limit to avoid looking 90deg up/down.
	ROYAL_COURT_TOOL_DEFAULT_SPHERE_RADIUS = 25.0 		# Default sphere drawn for objects without any asset spawned, lights or other invisible entries.
	ROYAL_COURT_TOOL_DEV_CAM_FOV = 90.0 				# Field of view of developer camera
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_DISTANCE = 175.0 	# Distance from the scene origo at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_PITCH = 45.0 		# Looking pitch direction at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_YAW = 45.0 		# Looking yaw direction at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_NEAR_CLIP = 25.0 			# Near clip distance of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_FAR_CLIP = 2500.0 			# Far clip distance of developer camera.
}

NMapColors = {
	OCEAN_MAP_COLOR = { 0.0 0.0 0.1 }
	WATER_MAP_COLOR = { 0.67 0.6 1.0 }
	IMPASSABLE_LAND_MAP_COLOR = { 0.0 0.0 0.0 }

	HOLDING_HIGHLIGHT_COLOR = { 0 0 1 }
	MAP_HIGHLIGHT_ALPHA = 0.1		# Transparency of the map highlight color overlay
	MAP_HIGHLIGHT_ALPHA_FLAT_MAP = 1	# Transparency of the map highlight color overlay when zoomed out to see the flat map
	MAP_SELECTION_HIGHLIGHT_ALPHA = 1 # Transparency of the map highlight color overlay for selection items
	MAP_HIGHLIGHT_ALPHA_MAIN_PROVINCE = 0.25 # Transparency of the map highlight color overlay on the main province tooltiped for holdings
	MAP_HIGHLIGHT_SNOW = 10.0 # Intensity multiplier of highlight over snow, to compensate for white on white
	TRIBUTARY_REALM_COLOR_FACTOR = 0.25 # Tributary realms that use suzerain realm colors will still have this factor of their own color.
	CONFEDERATION_REALM_COLOR_FACTOR = 0.25 # Realms that are members of a Confederation will still have this factor of their own color.
}

NBorder = {
	BORDER_WIDTH = 1.5			# Works
	COLOR_SELECTION_REGION = { 1.0 1.0 1.0 1.0 }
	COLOR_SELECTION_PROVINCE = { 1.0 1.0 1.0 1.0 }
	COLOR_SELECTION_HIGHLIGHT = { 1.0 1.0 1.0 1.0 }
	REGION_FADE_FAR = 1.0
	REGION_FADE_NEAR = 0.0
	PROVINCE_FADE_FAR = 1.0
	PROVINCE_FADE_NEAR = 0.0
	DISABLE_PROVINCE_AND_COUNTY_IN_FLAT_MAP = yes	# For performance reasons we disable these entirely, since they're not actually visible anyway in the flat map
	DISABLE_SUB_REALM_IN_FLAT_MAP = yes	# For performance reasons we disable these entirely, since they're not actually visible anyway in the flat map
	ENABLE_GRADIENT_BORDERS_SHORELINE = yes # need to restart the game for this setting to take effect
	BORDERS_FULL_UPDATE_INTERVAL = 20 # interval between full border updates instead of partial one
}

NTrees = {
	FADE_FAR = 1.0
	FADE_NEAR = 0.0
	QUAD_SIZE = 100
}

NRiver = {
	FADE_FROM = 0.0
	FADE_TO = 1.0
}

NMapName = {
	NAME_DRAW_DISTANCE = 12000.0		# Remove province names beyond this distance
	LARGE_NAMES_ZOOM_STEP = 9		# At which zoom steps are large map names shown
	NAME_FONT_NAME = "MapFont"		# Font used for drawing the map names
	NAME_FONT_SIZE = 50				# Font size used for drawing the map names
	FADE_SPEED = 1.6				# How fast names fade in/out
	CROSSFADE_DELAY = 0.7			# For how long should both small and big names be shown when fading between them
	MIN_OPACITY = 0.7				# minimum opacity. Names hidden by draw distance will still fade to 0
	MAX_OPACITY = 0.9
	MIN_OPACITY_DIST = 375.0		# Camera height at which the names have min opacity
	MAX_OPACITY_DIST = 1400.0		# Camera height at which the names have max opacity
	ZOOM_STEPS_VISIBLE_SCALES = {	# Each map-name has a scale. This list contains min-max values for each zoom step. If a name's scale is outside that range it will not be visible
		# min (hides names that are too small)
		# max (hides names when they get to large)
		0.0		0.0 	#100	0	Closest zoomed in
		0.0		0.0 	#125	1
		0.0		0.0		#146	2
		0.0		50.0	#165	3
		0.0		50.0	#183	4
		0.0		50.0	#204	5
		0.0		50.0	#229	6
		0.0		50.0	#260	7
		0.0		50.0	#300	8
		0.0		50.0	#350	9
		0.11	50.0	#405 	10
		0.12	50.0	#461 	11
		0.13	50.0	#518 	12
		0.14	50.0	#578 	13
		0.15	50.0	#643 	14
		0.17	50.0	#714 	15
		0.19	50.0	#793 	16
		0.21	50.0	#881 	17
		0.23	50.0	#981 	18
		0.27	50.0	#1092	19
		0.29	50.0	#1218	20
		0.30	50.0	#1360	21 Flat map
		0.32	50.0	#1521	22
		0.32	50.0	#1703	23
		0.32	50.0	#1903	24
		0.32	50.0	#2116	25
		0.32	50.0	#2341	26
		0.32	50.0	#2573	27
		0.32	50.0	#2809	28
		0.32	50.0	#3047	29
		0.32	50.0	#3282	30
		0.32	50.0	#3512	31
		0.32	50.0	#3733	32
		0.32	50.0	#5000	33
		0.32	50.0	#7000	34	Farthest out
	}
}

NCoatOfArms = {
	# Dimensions of the CoA textures used for units and other entities
	ENTITY_COA_SIZE = { 256 256 }

	# Randomization of unit coloring for the entity CoAs
	ENTITY_COA_HUE_RANDOMIZATION = 0.00
	ENTITY_COA_SATURATION_RANDOMIZATION = 0.0
	ENTITY_COA_VALUE_RANDOMIZATION = 0.00
}

NUnitGraphics = {
	UNIT_MOVEMENT_MAX_BORDER_DISTANCE = 5.0		# The maximal distance the unit will move towards the province borders before actually changing the location
	UNIT_MOVEMENT_SPEED_WALK_TO_BORDER = 8.0 	# The speed for walking up to the province border
	UNIT_MOVEMENT_SPEED = 48.0					# The speed for moving between provinces 8.0 good speed for animation (48 default)
	UNIT_TURN_SPEED = 3.0
	UNIT_MAX_DAYS_IN_WRONG_PROVINCE = 8	# for how many days the units are allowed to be displayed in a previous province during movement animations

	# Unit scale depending on zoom step
	UNIT_SCALE_PER_ZOOM_STEP = { 1.6  1.8  2.0 2.2  2.4  2.6  2.8  2.1  1.4  0.7  0.0  0.0  0.0  0.0  0.0 }

	WINNING_COMBAT_THRESHOLD = 1.5	# How much more power does the combat side need to show it's winning combat animation. (E.g. 1.5 means it has to be over 150% of the opponent)
	DISBAND_FADE_LENGTH = 3.0f # The length of the disbanding unit fadeout in seconds
}

NTravelRouteGraphics = {
	UNIT_IDLE_ANGLE_RADIANS = 0.5f # Angle the Travel unit will orient to when Idle (use negative value to orient in arrow direction)
	UNIT_NO_TITLE_PRIMARY_COLOR = { 0.3 0.3 0.3 1.0 } # Default travel unit primary color, if the travel unit owner does not have a title to get colors from
	UNIT_NO_TITLE_SECONDARY_COLOR = { 0.2 0.3 0.3 1.0 } # Default travel unit secondary color, if the travel unit owner does not have a title to get colors from
	UNIT_SCALE_PER_ZOOM_STEP = { 1.6  1.8  2.0 2.2  2.4  2.6  2.8  2.1  1.4  0.7  0.0  0.0  0.0  0.0  0.0 } # Scale of the travel unit at specific zoom steps
	UNIT_MOVEMENT_SPEED = 24 # Speed of the travel unit when animating between daily steps
	UNIT_MOVEMENT_CATCHUP_DISTANCE = 50 # If the travel unit movement animation is "behind" the actual location by this distance, use UNIT_MOVEMENT_CATCHUP_SPEED instead
	UNIT_MOVEMENT_CATCHUP_SPEED = 120 # "Faster" animation movement speed to catch up if behind a lot
}

NCombatInterface = {
	COMBAT_BALANCE_UNDECIDED_ZONE = 0.1					# If the balance of the combat is within this range around 50% (0.5) the prediction is considered undecided
	COMBAT_BALANCE_DIRECTION_STEPS = 3					# How many steps should the combat balance progress direction indicator have
	COMBAT_BALANCE_STEP_CHANGE = 10						# Balance change needed for increasing the steps of the indicator by one
	UNIT_QUALITY_THRESHOLDS = { # If the weighted (damage + toughness)^2 per man is at least the threshold value, the quality level is considered one higher. Weight is damage + toughness or MAX_QUALITY_POWER_MULT. Whichever is lower
		25
		60
		95
		130
	}
	MAX_QUALITY_POWER_MULT = 50							# When multiplying damage + toughness with itself, we cap it at this value. So damage + toughness of 100 would result in 100 * MAX_QUALITY_POWER_MULT rather than 100^2, while a value of 20 would result in 20*20
	MAX_COMBAT_PREDICTION_DISTANCE = 5					# How far along the path of your units should we bother to look? Higher means we can predict combat further away, but the situation is more likely to change before combat occurs
	BATTLE_EVENT_DURATION = 5.0							# How many seconds do battle events stick around for?
}

NCombatPrediction = {
	COMBAT_PREDICTION_ADVANTAGE_ROUNDS = 5				# How many rounds of the advantage are added to the starting advanatage when predicting the combat result
	EDGE_COMMANDER_MARTIAL_THRESHOLD = 3				# Commanders' martial skill difference needs to be at least this for it to be counted as an edge
	EDGE_COMMANDER_TRAITS_THRESHOLD = 1					# Commanders' number of commander traits skill difference needs to be at least this for it to be counted as an edge
	EDGE_SOLDIERS_RATIO_THRESHOLD = 1.25				# Total soldier count ratio needs to be at least this for it to be counted as an edge
	EDGE_QUALITY_THRESHOLD = 1.25						# Quality ratio needs to be at least this for it to be counted as an edge (together with EDGE_MIN_MEN_AT_ARMS)
	EDGE_COUNTER_RATIO_THRESHOLD = 1.25					# Total MAA counters need to be at least this for it to be counted as an edge
	EDGE_FORTIFICATION_THRESHOLD = 20					# Fortification needs to be at least this for it to be counted as an edge
	COMBAT_PREDICTION_LEVELS = { 0.3 0.45 0.6 0.8 }		# Prediction levels thresholds
	EDGE_ICON_COMMANDER_SKILL = "gfx/interface/icons/icon_skill_martial.dds"
	EDGE_ICON_COMMANDER_TRAITS = "gfx/interface/icons/icon_commander_trait.dds"
	EDGE_ICON_SOLDIERS = "gfx/interface/icons/icon_soldier.dds"
	EDGE_ICON_MEN_AT_ARMS = "gfx/interface/icons/combat_effects/men_at_arms_advantage.dds"
	EDGE_ICON_COUNTER = "gfx/interface/icons/icon_maa_countered.dds"
}

NGrantTitleInterface = {
	GRANT_TITLE_ITEM_HEIGHT = 45
	GRANT_TITLE_ITEM_WIDTH = { 450 425 400 375 350 }
	GRANT_TITLE_IN_LIST_COLOR = { 0.2 0.2 0.7 1.0 }
	GRANT_TITLE_COLOR = { 0.1 0.3 1.0 1.0 }
	REVOKE_TITLE_COLOR = { 1.0 0.3 0.1 1.0 }
	GRANT_TITLE_VASSAL_COLOR = { 0.1 0.3 1.0 1.0 }
	GRANT_TITLE_RECIPIENT_COLOR = { 0.0 0.9 0.25 1.0 }
	GRANT_TITLE_RECIPIENT_REALM_COLOR = { 0.0 0.4 0.25 1.0 }
	GRANT_VASSAL_COLOR_CANNOT_TRANSFER = { 0.4 0.4 0.4 0.6 }
}

NMapModes = {
	OTHER_REALM_COLOR = { 0.25 0.25 0.2 1.0 } 	# Outside of Realm
	MY_COLOR = { 0.05 0.05 1 1.0 }				# My Realm (international)
	MY_REALM_COLOR = { 0.3 0.3 0.45 1.0 }		# My Realm (internal, when interacting with a vassal)
	INVALID_COLOR = { 0.7 0.05 0.05 1.0 }
	VALID_COLOR = { 0. 1.0 0. 1.0 }
	REPLACE_COLOR = { 0.4 0.8 1 1 }
	OUT_OF_DIPLO_RANGE_COLOR = { .7 0.05 0.05 1. }
	IN_DIPLO_RANGE_COLOR = { 0.0 1 0.2 0.9 }
	DEBUG_MARK_COLOR = { 1 1 0 1 }

	ECONOMY_INCOME_LOW = { .4 0 0.2 1 } # map color for barony with no income
	ECONOMY_INCOME_HIGH = { 0.9 0.9 0 1 } # map color for barony with max income

	# County control colors
	COUNTY_CONTROL_LOW = { .4 0 0.2 1 }
	COUNTY_CONTROL_HIGH = { 0.9 0.9 0 1 }
	COUNTY_CONTROL_MAX = { 0.3 0.3 0.3 1 }
	COUNTY_CONTROL_ABSOLUTE = { 0.9 0.9 0.9 1 }

	# Baronies with income larger than this percentile will get high income color
	# Tune the value to prevent outliers like Constantinople and gold mines from forcing every other barony to show as poor
	ECONOMY_INCOME_PERCENTILE = 0.998
	COUNCIL_DEVELOPMENT_LOW = { .4 0 0.2 1 } # map color for 0-development county
	COUNCIL_DEVELOPMENT_HIGH = { 0.9 0.9 0 1 } # map color for max development county
	COUNCIL_FABRICATE_CLAIM_COLOR_ADJACENT = { 0.2 0.8 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_DISTANT = { 0.6 0.6 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_HAS_CLAIM = { 0.9 0.3 0.9 1 }
	COUNCIL_FIND_SECRETS_COLOR_LIEGE = { 0.8 0.8 0.1 1 }
	COUNCIL_FIND_SECRETS_COLOR_INDEPENDENT = { 0.2 0.6 0.2 1 }
	COUNCIL_FIND_SECRETS_COLOR_VASSAL = { 0.4 0.8 1 1 }
	COUNCIL_FIND_SECRETS_COLOR_LANDED = { 0.8 0.8 0.8 1 }
	DEFAULT_PROVINCE_COLOR = { 1 .7 .7 .7 }		# used in various mapmodes
	DEFAULT_PROVINCE_COLOR_2 = { .15 .15 .15 1 }
	DEFAULT_SECONDARY_COLOR = { 0 0 0 0 }
	SELECT_CHARACTERS_ZOOM_STEP = 9			# Min zoom threshold for showing holdings/characters when clicking the map
	VASSALS_LIEGE_REALM_COLOR_ZOOM_STEP = 0	# Min zoom threshold for showing the liege's color instead direct vassals' colors in the realms map mode
	LARGE_IMPASSABLE_PROVINCE_PIXELS = 100000 # How many pixels qualify the impassible province as too big to be included in map colors and names
	WATER_BORDERS_ZOOM_STEP = 8 # at what zoom level disable borders along water shores
	CIVIL_WAR_REALM_INTERPOLATE_FACTOR = 0.45 # Factor of interpolation for civil wars when combining their primary title colour with the default map colour
	CIVIL_WAR_DARKEN_INTERPOLATE_FACTOR = 0.45 # The factor of interpolation for civil wars when combining the above merged colour with black to darken it
	STRUGGLE_INVOLVED_COLOR = { 0.6 0.35 0.2 1 }
	STRUGGLE_INTERLOPER_COLOR = { 0.2 0.4 0.4 1 }
	STRUGGLE_UNINVOLVED_COLOR = { 0.5 0.5 0.5 1 }

	SITUATION_UNINVOLVED_COLOR = { 0.5 0.5 0.5 1 }

	TRAVEL_DANGER_LOW = { 0 1 0 1 } # map color for 0-danger province
	TRAVEL_DANGER_HIGH = { 1 0 0 1 } # map color for max danger province

	TRAVEL_DANGER_NO_DANGER_COLOR = { 1.0 1.0 1.0 0.5 }
	TRAVEL_DANGER_NO_DANGER_COLOR_WATER = { 1.0 1.0 1.0 0.4 }
	TRAVEL_DANGER_UNKNOWN_COLOR = { 0.3 0.3 0.3 0.9 }
	TRAVEL_DANGER_UNKNOWN_COLOR_WATER = { 1.0 1.0 1.0 0.2 }

	TRAVEL_DANGER_VALUE_WARNING_DASHES_THRESHOLD = 40 # How much higher than safety should danger be to show red dashes on the map
	TRAVEL_DANGER_VALUE_WARNING_DASHES_COLOR = { 1.0 0.0 0.0 1.0 }
	TRAVEL_DANGER_ICON_UNSAFE_THRESHOLD = 10 # How much higher than safety should the danger be for the icon not to be grayed out
	TRAVEL_DANGER_ICON_DANGEROUS_THRESHOLD = 40 # How much higher than safety should the danger be for the icon to glow

	TRAVEL_DANGER_MAX = 30 # Anything at or above this will use the max danger color

	TRAVEL_PLANNER_SHOW_DANGER_STEPS = 3 # Nr of provinces shown around travel path for danger display
	TRAVEL_PLANNER_SHOW_DANGER_MAX_WATER_STEPS = 1 # Max steps into water when displaying danger for travel path

	ACTIVITY_PLANNER_SCORE_LOW = { 0.55 0.55 0.3 1 } # map color for poor provinces to plan an activity phase in
	ACTIVITY_PLANNER_SCORE_HIGH = { 0 1 0.0 1 } # map color for good provinces to plan an activity phase in

	EPIDEMIC_INFECTION_LOW = { 0.55 0.55 0.3 1 } # map color for provinces with a low infection risk/rate in an epidemic
	EPIDEMIC_INFECTION_HIGH = { 0 1 0.0 1 } # map color for provinces with a high infection risk/rate in an epidemic

	LEGEND_COLOR_DEVIATION = { 0.7 0.1 } # How much should generated map colors differ from the legend type color they're based on. Distance within the HSV colorspace

	SELECTED_LEGEND_COLOR_BRIGHTEN = 0.75 # How much to 'brighten' the selected legends' map color (below 1.0 is darkening)
	SELECTED_LEGEND_COLOR_SPREAD_BRIGHTEN = 5.0 # How much to 'brighten' the selected legends' potential spread provinces. This brightness is the "max spread" color
	SELECTED_LEGEND_COLOR_SPREAD_MAX = 5.0 # Province spread chance percentage to get full color

	EPIDEMIC_LEGEND_MAP_UPDATE_DELAY_DAYS = 20 # How many days we leave between the map mode updating

	TITLE_TROOPS_OTHER_COLOR = { 0.5 0.1 0.5 1 } # Color vassal duchues that can't have title troops - non-admin and others

	COUNTY_FERTILITY_LOW = { 0.3 0.1 0 1 }
	COUNTY_FERTILITY_MEDIUM = { 0.4 0.4 0 1 }
	COUNTY_FERTILITY_HIGH = { 0 0.5 0.1 1 }

	MIGRATION_OUTSIDE_RANGE_COLOR = { .15 .15 .15 1 }
}

NTravel = {
	# Danger type colors
	DANGER_TYPE_COLOR_DEFAULT = { 0.7 0.5 0.5 }
	DANGER_TYPE_COLOR_BATTLE = { 0 1 1 }
	DANGER_TYPE_COLOR_RAID = { 0 1 1 }
	DANGER_TYPE_COLOR_SIEGE = { 0 1 1 }
	DANGER_TYPE_COLOR_ARMY = { 0 1 0.6 }
	DANGER_TYPE_COLOR_OCCUPIED = { 0 1 1 }
	DANGER_TYPE_COLOR_EPIDEMIC = { 0 0 0 }
	DANGER_TYPE_COLOR_COUNTY_CONTROL = { 0.7 0.5 0.15 }
	DANGER_TYPE_COLOR_COUNTY_OPINION = { 0.93 0.8 0.6 }
	DANGER_TYPE_COLOR_PROVINCE_OWNER_OPINION = { 0.93 0.8 0.6 }

	DANGER_TYPE_ICON_FILE_NAMES = {
		"_default"
		"army"
		"army"
		"army"
		"army"
		"army"
		"epidemic"
		"county_control"
		"opinion"
		"opinion"
	}
}

NWarMapModes = {
	DECLARE_WAR_TARGET_EXTRA_VALUE = 0.5
	ENEMY_COLOR = { 1.0 0.05 0.05 1.0 }
	WAR_TARGET_LOSING_COLOR = { 0.7 0.2 0.2 1.0 }
	WAR_TARGET_WINNING_COLOR = { 0.2 0.2 0.7 1.0 }
	GOING_TO_VASSAL_COLOR = { 0.9 0.9 0.9 0.2 }
	MY_ALLY_COLOR = { 0.03 0.03 0.7 1.0 }
	ENEMY_ALLY_COLOR = { 0.7 0.03 0.03 1.0 }
}

NDiplomaticRelationsMapMode = {
	MY_COLOR = { 0.03 0.7 0.03 1.0 }
	LIEGE_COLOR = { 0.9 0.9 0.2 1.0 }
	ALLY_COLOR = { 0.02 0.02 0.40 1.0 }
	TRIBUTARY_COLOR = { 0.25 0.13 0.13 1.0 }
	RAID_BY_ME_COLOR = { 0.6 0.1 0.3 1.0 }
	RAID_ON_ME_COLOR = { 1.0 0.3 0.1 1.0 }
	WAR_ALLY_COLOR = { 0.01 0.01 0.20 1.0 }
	WAR_ENEMY_COLOR = { 1.0 0.05 0.05 1.0 }
	WAR_ENEMY_ALLY_COLOR = { 0.4 0.02 0.02 1.0 }
	WAR_ENEMY_ENEMY_COLOR = { 1.0 0.3 0.1 1.0 }
	TRUCE_COLOR = { 0.9 0.9 0.9 1.0 }
}

NCharacterWindow = {
	MAX_TRAITS_IN_PERSONALITY_BOX = 4				# How many traits per row in the trait box
	SKILL_LIST_ITEMS = { 0 1 2 3 4 }
	MAX_VISIBLE_MODIFIERS = 4						# When to show the number of extra modifiers
}

NArmyWindow = {
	TOTAL_COMPOSITION_MAX_LINES = 30
}

NActivityWindow = {
	MAX_VISIBLE_CHARACTERS = 5
}

NGui = {
	# Tooltip open time is a setting now.
	TOOLTIP_OPEN_DELAYED_TIME = 0.0		# Time a delayed tooltip takes to show up
	TOOLTIP_CLOSE_TIME = 0.2			# Time a delayed tooltip takes to close
	TOOLTIP_TENDENCY_BUFFER = 15		# Tendency buffer to detect where the mouse if going to be in the future
	TOOLTIP_MIDDLE_MOUSE_LOCK_TIME = 0.25 # How quickly you need to click/release the middle mouse button to lock a tooltip in seconds
	# Tooltip stack tint RGBA colors starting with the top tooltip
	TOOLTIP_TINT_RGBA = {
		1.0  1.0  1.0	1.0
		0.8 0.8 0.8 1.0
		0.6 0.6 0.6  1.0
		0.1  0.1  0.1	0.2
	}
	MESSAGE_HISTORY_LOG_MAX_MESSAGES = 75 # Number of max messages in the list until it starts clearing oldest
	MESSAGE_FEED_DELAY = 1 # Number of seconds between the feed systems wait before adding another message if there's a queue
	MESSAGE_FEED_DAYS_SHOWN = 120 # Number of days a items will be shown in the feed before disappearing.
	MESSAGE_FEED_CONSOLIDATION_DAYS = 15 # Number of days between messages we allow consolidation for
	TOAST_MESSAGE_TIME_SHOWN = 11 # Duration in seconds for how long to show a toast. Use < 0 to require manual dismissal.
	TOAST_MESSAGE_POST_HOVER_DELAY = 1.0 # When a message is hovered it doesn't disappear, but the above timeout still runs. When leaving with the mouse and the time has run out, leave the message on the screen for TOAST_MESSAGE_POST_HOVER_DELAY seconds.
	EVENT_WINDOW_EDGE_PIXELS = 200	# If an event window is moved outside the game window this number of pixels will stay inside it
	EVENT_PORTRAIT_DEFAULT_ENVIRONMENT = "environment_event_standard" # Default portrait environment for animated event portraits
	EVENT_OPTIONS_SHOWN_HIDE_UNAVAILABLE = 4 # How many options can be shown before unavailable options are not shown anymore (can lead to none/only some unavailable options being shown according to their order in the event)
	SCHEME_PREPARATION_OPTIONS_SHOWN_HIDE_UNAVAILABLE = 8 # How many options can be shown for *scheme preparations* before unavailable options are not shown anymore
	EVENT_OPTIONS_DISABLED_TIME = 0.5 # How long are event options unclickable after an event spawns, to prevent accidental clicks?
	MORE_INTERACTIONS_MOVED_TO_COMMON = 2 # If the common interactions are empty how many non common ones are moved to be shown as common. If there is going to be only one left in the more section it will be moved too.
	DAYS_SINCE_LAST_RAID_SHOULD_DISBAND = 60	# If this long since last raided, prompt player to disband their troops if they're not at war

	# Tint for opinion box, from bad to neutral to good. Neutral has two values,
	OPINION_TINT_RGBA = {
		0.83 	0.17 	0.17 	1.0 	# -100 Opinion
		0.76 	0.53 	0.17 	1.0 	# -0.1 Opinion
		0.58 	0.69 	0.28 	1.0 	# +0.1 Opinion
		0.29  	0.88  	0.31		1.0		# +100 Opinion
	}

	DISABLE_SHORTCUT_ACCESS_FOR_WINDOW_NAMES = {
		"character_window"
		"my_realm_window"
		"military_window"
		"council_window"
		"court_window"
		"intrigue_window"
		"factions_window"
		"decision_window"
		"activity_list_window"
		"encyclopedia"
	}

	FIND_TITLES_MAX_MATCHES = 20	# The maximum number of titles that show up in the list while doing find titles
	MAX_MS_FOR_FIND_TITLE_LOOKUP = 10	# How much time should we spend ecah frame on updating the title lookup for Find Title after opening it

	MAX_PRISONER_COUNT_GRID = 4 	# The maximum amount of prisoners to display in the grid view (before switching over to the list view, when this grows beyond what is set here)
	MAX_WAR_PARTICIPANTS_IN_TOOLTIP = 6 # If a war side has more than this number of people, we cap the list and say "and x more"

	DECISION_DETAILS_VIEW_POSITION_DEFAULT = { -650 110 }
	DECISION_DETAILS_VIEW_POSITION_COURT = { -20 110 }
	KNIGHTS_VIEW_NUM_ACCOLADES = 5 # max number of accolade slots to show in the knights window

	DEFAULT_EVENT_HEADER_BACKGROUND_PATH = "gfx/interface/window_event/header_neutral.dds"
}

NRallyPoint = {
	COLORS = {
		0.7  0.2  0.2 1.0 #Red
		0.2 0.6 0.3 1.0 #Green
		0.8  0.6 0  1.0 #Yellow
		0.0  0.5 0.7 1.0 #Blue
		0.9 0.5 0.1 1.0 #Orange
		0.6 0.3 0.6 1.0 #Purple
		0.1 0.7 0.7 1.0 #Cyan
		#	0.7 0.1  0.6  1.0 #Magenta
		0.5 0.7 0.3 1.0 #Lime
		0.98 0.75 0.75 1.0 #Pink
		0.0  0.5  0.5  1.0 #Teal
		0.9  0.75 1.0  1.0 #Lavender
		0.67 0.43 0.16 1.0 #Brown
		#		0.5  0.0  0.0  1.0 #Maroon
		0.67 1.0  0.6 1.0 #Mint
		0.5  0.5  0.0  1.0 #Olive
		1.0  0.5 0.2 1.0 #Coral
		0.4  0.4  0.8  1.0 #Navy
	}
}

NMapIcon = {
	FORT_VISIBLE_ZOOM_STEPS = { 0 9 }
	STRAITS_VISIBLE_ZOOM_STEPS = { 0 12 }
	HOLDING_VISIBLE_ZOOM_STEPS = { 0 4 }
	HOLDING_SMALL_VISIBLE_ZOOM_STEPS = { 5 8 }
	REALM_CAPITAL_VISIBLE_ZOOM_STEPS = { 3 19 } # { 0 19 }
	TITLE_CAPITAL_VISIBLE_ZOOM_STEPS = { 0 16 }
	DYNASTY_HOUSES_VISIBLE_ZOOM_STEPS = { 5 10 }
	RALLY_POINT_VISIBLE_ZOOM_STEPS = { 0 8 }
	UNIT_VISIBLE_ZOOM_STEPS = { 0 16 }
	UNIT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 8 }
	COMBAT_VISIBLE_ZOOM_STEPS = { 0 16 }
	COMBAT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 8 }
	COMBAT_PREDICITON_VISIBLE_ZOOM_STEPS = { 0 8 }
	COUNCIL_TASK_VISIBLE_ZOOM_STEPS = { 0 8 }
	PROVINCE_VISIBLE_ZOOM_STEPS = { 0 19 }
	COURT_LANGUAGE_VISIBLE_ZOOM_STEPS = { 0 19 }
	MAA_ORIGIN_VISIBLE_ZOOM_STEPS = { 0 19 }
	UNIQUE_BUILDINGS_VISIBLE_ZOOM_STEPS = { 0 19 }
	ACTIVITY_VISIBLE_ZOOM_STEPS = { 0 20 }
	CONTRACT_AND_DOMICILE_FLAT_MAP_VISIBLE_ZOOM_STEPS = { 20 -1 }

	### brief: DETAILED_RAID_VISIBLE_ZOOM_STEPS
	# At what zoom levels should the raidable holdings icons be
	# visible?
	#
	DETAILED_RAID_VISIBLE_ZOOM_STEPS = { 0 16 }

	### brief: DETAILED_RAID_SIMPLE_TO_DETAILED_ZOOM_STEP
	# At what zoom level should the raidable holdings icon adjust its
	# size
	#
	DETAILED_RAID_SIMPLE_TO_DETAILED_ZOOM_STEP = 9

	### brief: DETAILED_RAID_PROVINCE_MINIMUM_LOOT
	# A holding must have at least this much loot to show up on the map
	# icons, unless the province is currently being moused over.
	#
	DETAILED_RAID_PROVINCE_MINIMUM_LOOT = 5.0


	FADE_IN_SPEED = 2.0
	FADE_OUT_SPEED = 4.0
}

NGameIcons = {
	TRAIT_ICON_PATH = "gfx/interface/icons/traits"
	TRAIT_LEVEL_TRACK_ICON_PATH = "gfx/interface/icons/trait_level_tracks"
	STATICMODIFIER_ICON_PATH = "gfx/interface/icons/modifiers"
	REGIMENTYPE_ICON_PATH = "gfx/interface/icons/regimenttypes"
	REGIMENTYPE_HORIZONTAL_IMAGE_PATH = "gfx/interface/illustrations/men_at_arms_big"
	REGIMENTYPE_VERTICAL_IMAGE_PATH = "gfx/interface/illustrations/men_at_arms_small"
	COMBAT_EFFECT_ICON_PATH = "gfx/interface/icons/combat_effects"
	BUILDING_TYPE_ICON_PATH = "gfx/interface/icons/building_types"
	HOLDING_TYPE_ICON_PATH = "gfx/interface/icons/holding_types"
	HOLDING_TYPE_TAB_ICON_PATH = "gfx/interface/icons/holding_types_tab"
	COUNCIL_TASK_TYPE_ICON_PATH = "gfx/interface/icons/council_task_types"
	IMPORTANT_ACTIONS_TYPE_ICON_PATH = "gfx/interface/icons/alerts"
	FAITH_DOCTRINE_ICON_PATH = "gfx/interface/icons/faith_doctrines"
	FAITH_DOCTRINE_GROUP_ICON_PATH = "gfx/interface/icons/faith_doctrine_groups"
	CULTURE_ERA_ILLUSTRATION_PATH = "gfx/interface/window_culture/culture_era_illustrations"
	CULTURE_ERA_FRAME_PATH = "gfx/interface/icons/culture_era_frames"
	FACTION_TYPE_ICON_PATH = "gfx/interface/icons/faction_type"
	TERRAIN_ICON_PATH = "gfx/interface/icons/terrain_types"
	TERRAIN_TYPE_ILLSUTRATION_PATH = "gfx/interface/illustrations/terrain_types"
	LAW_ICON_PATH = "gfx/interface/icons/laws"
	PERK_ICON_PATH = "gfx/interface/icons/lifestyles_perks"
	FOCUS_ICON_PATH = "gfx/interface/icons/focuses"
	LIFESTYLE_ICON_PATH = "gfx/interface/icons/lifestyles"
	LIFESTYLE_BACKGROUND_PATH = "gfx/interface/illustrations/lifestyles_background"
	LEGACY_ICON_PATH = "gfx/interface/icons/dynasty"
	LEGACY_TRACK_ICON_PATH = "gfx/interface/illustrations/legacy_tracks"
	CASUS_BELLI_TYPE_ICON_PATH = "gfx/interface/icons/casus_bellis"
	FAITH_DOCTRINE_BACKGROUND_PATH = "gfx/interface/icons/faith_doctrines"
	DEATH_REASON_ICON_PATH = "gfx/interface/icons/death_reason"
	CHARACTER_INTERACTION_ICON_PATH = "gfx/interface/icons/character_interactions"
	CHARACTER_INTERACTION_CATEGORY_ICON_PATH = "gfx/interface/icons/character_interaction_category"
	CHARACTER_INTERACTION_CATEGORY_BACKGROUND_PATH = "gfx/interface/icons/character_interaction_category_background"
	CHARACTER_INTERACTION_ALERT_PATH = "gfx/interface/icons/alerts_character_interaction"
	MESSAGE_ICON_PATH = "gfx/interface/icons/message_feed"
	BOOKMARK_BUTTON_PATH = "gfx/interface/icons/bookmark_buttons"
	BOOKMARK_BUTTON_BIG_PATH = "gfx/interface/icons/bookmark_big"
	BOOKMARK_START_BUTTON_PATH = "gfx/interface/bookmarks/start_buttons"
	SECRET_TYPE_PATH = "gfx/interface/icons/secret_categories"
	CULTURE_PILLAR_PATH = "gfx/interface/icons/culture_pillars"
	LIFESTYPE_TREE_BACKGROUND_PATH = "gfx/interface/icons/lifestyle_tree_backgrounds"
	VASSAL_STANCE_ICON_PATH = "gfx/interface/icons/vassal_stances"
	EPIDEMIC_TYPE_ICON_PATH = "gfx/interface/icons/epidemics"
	LEGEND_TYPE_ICON_PATH = "gfx/interface/icons/legend_types"
	HOUSE_POWER_BONUS_ICON_PATH = "gfx/interface/icons/powerful_family_bonus"
	GOVERNMENT_TYPE_ICON_PATH = "gfx/interface/icons/government_types"

	DEFAULT_DEATH_REASON_ICON = "death_natural.dds"

	GOVERNMENT_TYPE_REALM_MASK_PATH = "gfx/interface/icons/realm_masks"
	GOVERNMENT_TYPE_REALM_FRAME_PATH = "gfx/interface/icons/realm_frames"
	GOVERNMENT_TYPE_REALM_FRAME_SHADOW_PATH = "gfx/interface/icons/realm_frames_shadows"
	GOVERNMENT_TYPE_REALM_FRAME_SIZES = { 28 44 62 86 115 }

	BUILDING_LEVEL_ICONS = {
		"gfx/interface/icons/building_types/building_level_01.dds"
		"gfx/interface/icons/building_types/building_level_02.dds"
		"gfx/interface/icons/building_types/building_level_03.dds"
		"gfx/interface/icons/building_types/building_level_04.dds"
		"gfx/interface/icons/building_types/building_level_05.dds"
		"gfx/interface/icons/building_types/building_level_06.dds"
		"gfx/interface/icons/building_types/building_level_07.dds"
		"gfx/interface/icons/building_types/building_level_08.dds"
	}
	HEALTH_STATE_LEVELS_ICON_FRAMES = {
		4
		4
		3
		2
		1
		1
	}

	TRAIT_OVERLAY_VIRTUE = "gfx/interface/icons/traits/virtue_big.dds"
	TRAIT_OVERLAY_SIN = "gfx/interface/icons/traits/sin_big.dds"
	TRAIT_OVERLAY_LEVEL_STARS = "gfx/interface/icons/traits/_stars_" # Assumed to be a .dds

	DEFAULT_CULTURE_INNOVATION_TYPE_ICON_PATH = "gfx/interface/icons/culture_innovations/_default.dds"
	DEFAULT_BOOKMARK_BACKGROUND_PATH = "gfx/interface/bookmarks/_default.dds"

	PIETY_GROUPS = { "christian" "islam" "pagan" "eastern" "judaism" "zoroastrian" }
	PIETY_GAME_CONCEPT_LEVEL = 1	# Which level of piety is used for the game concept icon
	PRESTIGE_LEVEL_PATH = "gfx/interface/icons/currencies"
	DYNASTY_PRESTIGE_LEVEL_PATH = "gfx/interface/icons/currencies"
	PIETY_LEVEL_PATH = "gfx/interface/icons/currencies"
	INFLUENCE_LEVEL_PATH = "gfx/interface/icons/currencies"
	BATTLE_REPORT_VICTORY = "gfx/interface/icons/alerts_reports/report_battle_won.dds"
	BATTLE_REPORT_DEFEAT = "gfx/interface/icons/alerts_reports/report_battle_lost.dds"
	WAR_REPORT_VICTORY = "gfx/interface/icons/alerts_reports/report_war_victory.dds"
	WAR_REPORT_DEFEAT = "gfx/interface/icons/alerts_reports/report_war_defeat.dds"
	WAR_REPORT_WHITE_PEACE = "gfx/interface/icons/alerts_reports/report_war_white_peace.dds"
	WAR_REPORT_INVALIDATED = "gfx/interface/icons/alerts_reports/report_war_invalidation.dds"
	FAITH_ICON_PATH = "gfx/interface/icons/faith"
	INVENTORY_SLOT_ICON_PATH = "gfx/interface/icons/inventory"
	INSPIRATION_TYPE_ICON_PATH = "gfx/interface/icons/inspirations"
	ACTIVITY_TYPE_ICON_PATH = "gfx/interface/icons/activities"
	ACTIVITY_LOCALE_ICON_PATH = "gfx/interface/icons/activity_locales"
	ACTIVITY_INTENTS_ICON_PATH = "gfx/interface/icons/activity_intents"
	ACTIVITY_HEADER_BACKGROUND_PATH = "gfx/interface/illustrations/activity_header_backgrounds"
	ACTIVITY_BACKGROUND_PATH = "gfx/interface/illustrations/activity_backgrounds"
	ACTIVITY_ARRIVAL_BACKGROUND_PATH = "gfx/interface/illustrations/activity_splash_screens"
	ACTIVITY_PHASE_ICON_PATH = "gfx/interface/icons/activity_phases"
	ACTIVITY_PHASE_ILLUSTRATION_PATH = "gfx/interface/illustrations/activity_phases"
	ACTIVITY_OPTION_TEXTURE_PATH = "gfx/interface/illustrations/activity_types"
	ACTIVITY_OPTION_ICON_PATH = "gfx/interface/icons/activity_types"
	ACTIVITY_OPTION_CATEGORY_TEXTURE_PATH = "gfx/interface/icons/activity_option_categories"
	ACTIVITY_PULSE_ACTION_ICON_PATH = "gfx/interface/icons/activity_pulse_actions"
	SCHEME_TYPE_ICON_PATH = "gfx/interface/icons/scheme_types"
	SCHEME_COUNTERMEASURE_TYPE_ICON_PATH = "gfx/interface/icons/scheme_countermeasure_types"
	SCHEME_PHASE_DURATION_ICON = "gfx/interface/icons/schemes/icon_scheme_speed.dds"
	SCHEME_SUCCESS_CHANCE_ICON = "gfx/interface/icons/schemes/icon_scheme_success.dds"
	SCHEME_SUCCESS_CHANCE_GROWTH_ICON = "gfx/interface/icons/schemes/icon_scheme_success_growth.dds"
	SCHEME_SUCCESS_CHANCE_MAX_ICON = "gfx/interface/icons/schemes/icon_scheme_max_success.dds"
	SCHEME_SECRECY_ICON = "gfx/interface/icons/schemes/icon_secrecy.dds"
	ARTIFACT_ICON_PATH = "gfx/interface/icons/artifact"
	COURT_AMENITY_ICON_PATH = "gfx/interface/icons/amenities"
	STRUGGLE_PHASE_TYPE_ICON_PATH = "gfx/interface/icons/struggle_types"
	STRUGGLE_TYPE_ICON_PATH = "gfx/interface/icons/struggle_types"
	STRUGGLE_PHASE_TYPE_BACKGROUND_PATH = "gfx/interface/illustrations/struggle_backgrounds"
	STRUGGLE_PHASE_TYPE_DETAIL_BACKGROUND_PATH = "gfx/interface/illustrations/struggle_backgrounds/details"
	MAP_MODE_ICON_PATH = "gfx/interface/icons/flat_icons/map_modes"
	MEMORY_TYPE_ICON_PATH = "gfx/interface/icons/memory_types"
	DLC_ICON_PATH = "gfx/interface/icons/dlc"
	DLC_ICON_DISPLAY_SIZE = { 37 42 47 }
	DLC_PICTURE_PATH = "gfx/interface/illustrations/dlc"
	DLC_EVENT_DECORATION_PATH = "gfx/interface/illustrations/dlc_event_decorations"
	TRAVEL_DANGER_TYPE_ICON_PATH = "gfx/interface/icons/travel_danger_types"
	TRAVEL_OPTION_ICON_PATH = "gfx/interface/icons/travel_options"
	DIARCHY_MANDATE_TYPE_ICON_PATH = "gfx/interface/icons/diarchy_mandates"
	POINT_OF_INTEREST_TYPE_ICON_PATH = "gfx/interface/icons/point_of_interest_types"
	HOUSE_UNITY_STAGE_ICON_PATH = "gfx/interface/icons/currencies/house_unity"
	HOUSE_UNITY_STAGE_PROGRESS_BAR_PATH = "gfx/interface/progressbars/house_unity"
	HOUSE_UNITY_STAGE_BACKGROUND_PATH = "gfx/interface/illustrations/decisions/fp3"
	TAX_SLOT_OBLIGATION_TYPE_PATH = "gfx/interface/icons/tax_slot_obligations"
	COURT_POSITION_TYPE_ICON_PATH = "gfx/interface/icons/court_position_types"
	COURT_POSITION_TASK_TYPE_ICON_PATH = "gfx/interface/icons/court_position_task_types"
	RAID_INTENTS_ICON_PATH = "gfx/interface/icons/raid_intents"
	SITUATION_TYPE_ICON_PATH = "gfx/interface/icons/situation_types"
	SUBJECT_CONTRACT_ICON_PATH = "gfx/interface/icons/subject_contracts"
	SUBJECT_CONTRACT_PORTRAIT_ICON_PATH = "gfx/interface/icons/subject_contracts/portrait_icons"
	LEGITIMACY_TYPE_ICON_PATH = "gfx/interface/icons/legitimacy_types"
	LEGITIMACY_TYPE_FLAT_ICON_PATH = "gfx/interface/icons/legitimacy_types/flat"
	LEGITIMACY_TYPE_LEVELS_ICON_PATH = "gfx/interface/icons/legitimacy_types/levels"
}

NOwnMapMode = {
	DEFAULT_COLOR = { 0.15 0.15 0.15 1.0 }
	MY_COLOR = { 0. 1.0 0. 1.0 }
	REALM_COLOR = { 0.0 0.2 0.0 1.0 }
	VASSAL_COLOR = { 0.2 1.0 0.15 1.0 }
}

NProvincePositions = {
	ARMY_OFFSET = { 5 0 0 }
	CHARACTER_OFFSET = { 0 0 2 }
	CITY_NAMEPLATE_OFFSET = { 1.0 0 -2.5 }
	ACTIVITY_OFFSET = { 4 0 -2.5 }
}
NHoldingGraphics = {
	MAX_ACTIVE_SOUND_EFFECTS = 5
	FLAG_MESHES = {
		"western_flag_01_mesh"
	}
	CLEAR_RADIUS = 7.0	# The radius (in map pixels) of a disk that will get cleared around the holding when built.
	CLEAR_RADIUS_SPECIAL_BUILDING = 7.0	# The radius (in map pixels) of a disk that will get cleared around special buildings when built. If the special building is closer to the holding than (CLEAR_RADIUS + CLEAR_RADIUS_SPECIAL_BUILDING), it won't get cleared.
	CLEAR_LAYERS = { "tree_low_layer" "tree_medium_layer" "tree_high_layer" }	# Which layers to clear around holdings.

	# Province graphics scale on zoom step
	PROVINCE_GRAPICS_SCALE_PER_ZOOM_STEP = { 1.0 1.0 1.1 1.2 1.4 1.6 1.8 2.0 0.0 }
}

NCouncil = {
	COUNCIL_COUNTY_TASK_UNSELECTED = { 0.0 0.0 0.5 0.8 } 	# color for unselected coutties
	COUNCIL_COUNTY_TASK_SELECTED = { 0.0 0.8 0.8 1.0 } 	# color for selected coutties
}

NInspiration = {
	PROGRESS_FRAMES = 4
}

NMapObjects = {
	PLAYER_HOLDING_SCALE_MIN = { 0.6 400.0}		# The minimum scale and the distance used for scaling the player holding 3D objects
	PLAYER_HOLDING_SCALE_MAX = { 3.0 700.0 }	# The maximum scale and the distance used for scaling the player holding 3D objects

	# Entity states for city_siege_effect to represent current breach state.
	# Correspond to the breach states in NSiege::BREACH_PHASE_TIMER_LEVELS, but there is one extra level for no breach.
	CITY_SIEGE_EFFECT_STATE_PER_BREACH_LEVEL = {
		"no_breach"		# no breach (extra entry not in BREACH_PHASE_TIMER_LEVELS)
		"breached"		# first breach level (first entry in BREACH_PHASE_TIMER_LEVELS)
		"breached"		# second breach level
	}
}

NMapLines = {
	CHARACTER_LINE_TIER_TYPES = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal)
		"line_vassal"
		"line_vassal"
		"line_vassal_2"
		"line_vassal_2"
	}
	CHARACTER_LINE_TIER_TYPES_STRONG = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal), strong version for highlighting the direct liege
		"line_liege"
		"line_liege"
		"line_liege"
		"line_liege"
	}
	VASSAL_LINES_CYCLE_THRESHOLD = 0	# How many vassal lines can be shown at the same time (if it's more, the lines will cycle), 0 = no limit
	MAX_CYCLE_VASSAL_LINES = 7			# How many vassal lines can be shown at the same time when cycling, it can be different than VASSAL_LINES_CYCLE_THRESHOLD so we don't e.g. only cycle one line at a time
	VASSAL_LINES_MIN_SHOW_TIME = 1.0	# Minimal show time for vassal lines (before they are hidden by other vassal lines appearing thanks to MAX_VASSAL_LINES)
	VASSAL_LINES_MIN_SHOW_TIME_VARIANCE = 1.0	# Random variance in minimal show time for vassal lines
	ARMY_MOVEMENT_ARROW_ZOOM = 15		# Max zoom level to show the short army movement arrow, selected armies always show their move arrow
}

NLifestyle = {
	PERK_OFFSET = { 75 110 }	# How many pixels is 1 point of offset for a perk? x vs y axis
}

NMainMenu = {
	DEFAULT_MAIN_BOOKMARK_CHARACTER = "bm_sengoku1568_oda_nobunaga"
	DEFAULT_HEIR_BOOKMARK_CHARACTER = "bm_sengoku1568_oda_nobutada"
	DEFAULT_SECONDARY_BOOKMARK_CHARACTER = "bm_sengoku1568_saito_kicho"
}

NFindVassalList = {
	DESIRES_TITLE = 100
	LANDED_RULER_DOES_NOT_DESIRE_TITLE = -500
	IS_CHILD_OF_PLAYER = 25
	IS_CLOSE_RELATIVE_OF_PLAYER = 5
	SAME_DYNASTY_HOUSE_AS_PLAYER = 5
	SAME_DYNASTY_AS_PLAYER = 15
	PLAYER_HAS_HIGH_OPINION = 15
	PLAYER_HIGH_OPINION_VALUE = 35
	PLAYER_HAS_HOOK_ON_THEM = 20
	THEY_HAVE_HOOK_ON_PLAYER = -100
	PLAYER_KNOWS_SECRET_OF_THEIRS = 30
	THEY_KNOW_SECRET_OF_PLAYER = -80
	HAS_GOOD_RELATION = 30
	GOOD_RELATION_STRING = "friend"
	HAS_BAD_RELATION = -300
	BAD_RELATION_STRING = "rival"
	HIGH_GOLD_AMOUNT = 500
	HIGH_GOLD = 30
	THEY_ARE_VISIBLY_INFERTILE = -50
	OLD_AGE_YEARS = 50
	OLD_AGE = -25
	DIFFERENT_CULTURES = -150
	DIFFERENT_FAITHS = -150
	GENERAL_SKILL_MULTIPLIER = 1.75
	IS_LOWBORN = 0
}

NElectionCandidateList = {
	NOT_MY_DYNASTY = -100
	INFERTILE = -50
	BAD_HEALTH = -20
	DIFFERENT_FAITH = -50
	TOO_OLD = -10
	CLOSE_FAMILY = 5
	SAME_HOUSE = 10
	MY_CHILD = 20
	ADULT = 5
	GENERAL_SKILL_MULTIPLIER = 1
}

NUnitStatusIcons = {
	NORMAL = "gfx/interface/icons/army_status/army_status_normal.dds"
	INCOMBAT = "gfx/interface/icons/army_status/army_status_in_combat.dds"
	SIEGING = "gfx/interface/icons/army_status/army_status_sieging.dds"
	EMBARKED = "gfx/interface/icons/army_status/army_status_embarked.dds"
	GATHERING = "gfx/interface/icons/army_status/army_status_gathering.dds"
	RETREATING = "gfx/interface/icons/army_status/army_status_retreating.dds"
	MOVING = "gfx/interface/icons/army_status/army_status_moving.dds"
	RAIDING = "gfx/interface/icons/army_status/army_status_raiding.dds"
}

NUnitStatus = {
	NORMAL = "gfx/interface/illustrations/army_status/camped.dds"
	INCOMBAT = "gfx/interface/illustrations/army_status/moving.dds"
	SIEGING = "gfx/interface/illustrations/army_status/raiding.dds"
	EMBARKED = "gfx/interface/illustrations/army_status/embarked.dds"
	GATHERING = "gfx/interface/illustrations/army_status/camped.dds"
	RETREATING = "gfx/interface/illustrations/army_status/retreating.dds"
	MOVING = "gfx/interface/illustrations/army_status/moving.dds"
	RAIDING = "gfx/interface/illustrations/army_status/raiding.dds"
}

NUnitOrderIcons = {
	SUPPORT_PLAYER = "gfx/interface/icons/army_orders/army_order_support_player.dds"
	LAST_STAND = "gfx/interface/icons/army_orders/army_order_last_stand.dds"
	MOVE_TO_ATTACK = "gfx/interface/icons/army_orders/army_order_move_to_attack.dds"
	MOVE_TO_DEFEND = "gfx/interface/icons/army_orders/army_order_move_to_defend.dds"
	DEFEND = "gfx/interface/icons/army_orders/army_order_defend.dds"
	MOVE_TO_BESIEGE = "gfx/interface/icons/army_orders/army_order_move_to_besiege.dds"
	BESIEGE = "gfx/interface/icons/army_orders/army_order_besiege.dds"
	MERGE = "gfx/interface/icons/army_orders/army_order_merge.dds"
	RETREAT = "gfx/interface/icons/army_orders/army_order_retreat.dds"
	RESUPPLY = "gfx/interface/icons/army_orders/army_order_resupply.dds"
	GATHER = "gfx/interface/icons/army_orders/army_order_gather.dds"
	STAGE = "gfx/interface/icons/army_orders/army_order_gather.dds"
	MOVE = "gfx/interface/icons/army_orders/army_order_move.dds"
}

NSubjectContract = {
	OBLIGATION_OFFSET = { 110 50 } # How many pixels is 1 point of offset for an obligation level? x vs y axis
}

NTextMatching = {
	DEFAULT_CUT_OFF_MULTIPLIER = 0.5 # The default cut off multiplier for text matching relative to the top score
}

NCultureHybridization = {
	NUM_NAME_EXAMPLES = 6 # How many name examples to show in the hybridization view
}

NRoyalCourt = {
	COURT_GRANDEUR_LEVEL_TEXTURE_STEPS = 5 # A texture will be placed every X levels
	IDLE_CAMERA_OFFSET = { 15.0 2.0 0 } # Vector that defines the offset for the Idle camera animation
	IDLE_CAMERA_TRANSITION_DURATION = 30 # Idle camera animation duration in seconds
	CAMERA_TRANSITION_SPEED = 650 	# Camera transition speed in unit per seconds
	DEFAULT_THRONE_CAMERA = "Default View" # Camera that court will open in if open in throne tab
	DEFAULT_GRANDEUR_CAMERA = "Throne View" # Camera that court will open in if open in grandeur tab
	DEFAULT_ARTIFACTS_CAMERA = "Artifact View" # Return camera after deselecting an artifact slot

	# Different durations (in seconds) of camera movement trigger different sound effect
	# 1st value at index 0 is reserved for scene refresh
	CAMERA_MOVEMENT_DURATIONS_SECONDS = { 0 2 }
	# Sound effect played when camera moves from one point to another
	CAMERA_MOVEMENT_SOUND_EFFECT_PATH = "event:/DLC/EP1/SFX/courtcamera"


	COURT_LANGUAGE_GRANDEST_COURTS_TO_SHOW = 5 # The top X grandest royal courts should be shown in the court language view
	TOP_COURTS_TO_SHOW = 10 # How many courts to show in the "top x grand courts" tooltip
	CLOSE_COURTS_TO_SHOW = 5 # How many courts above and below the player in the ranking to show if the player isn't in the top

	COURT_EVENT_AVAILABLE_SOUND_EFFECT_PATH = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" # Sound effect played when a court event is available.
	COURT_ANIMATION_TIME_OFFSET = 10 # How much time we skip forward to go past expressive animation state
	COURT_ANIMATION_TIME_VARIATION = 7 # How much starting time for different people should differ
}

NCoatOfArmsDesigner = {
	NUM_EMBLEM_PER_GROUP = 8 # Number of emblem instances to show per paged group in the designer's panel
	EMBLEM_INSTANCE_PATTERN = "pattern_solid.dds" # "Neutral" pattern to use in the background of the emblem instance panel's previews
	EMBLEM_INSTANCE_DARK_BACKGROUND_COLOR = "black" # "Dark" named color to use in the background of the emblem instance panel's previews
	EMBLEM_INSTANCE_LIGHT_BACKGROUND_COLOR = "white" # "Light" named color to use in the background of the emblem instance panel's previews
	NEW_EMBLEM_DEFAULT_TEXTURE = "ce_fleur.dds" # Default texture for when adding a new emblem and no others exist
	NEW_EMBLEM_DEFAULT_COLOR = "yellow" # Default color to use in the above texture
}

NStruggle = {
	# Default define for showing point based content in gui
	POINT_BASED_PHASE_WIDGET_CONTENT = "point_based"
	# Default define for showing time based content in gui
	TIME_BASED_PHASE_WIDGET_CONTENT = "time_based"
	# Default define for showing ending phase content in gui
	ENDING_PHASE_WIDGET_CONTENT = "ending_phase"
}

NIntrigue = {
	SCHEME_COUNTERMEASURE_DEFAULT_FRAME_PATH = "gfx/interface/icons/scheme_countermeasure_types/frame_bronze.dds"
}

NHouseUnity = {
	NUM_HISTORY_ITEMS_DISPLAYED = 5 # How many house unity history items that should be shown in the tooltip
}

NEpidemic = {
	### Brief: EPIDEMIC_INFECTED_PROVINCE_ITEM_SIZE
	# How big is the size epidemic_infected_province_item. If this changes, you
	# also need to update the row and columns of the fixedgridboxes using the
	# widget.
	#
	# This is required for performance reasons.
	#
	EPIDEMIC_INFECTED_PROVINCE_ITEM_SIZE = { 524 44 }

	### Brief: EPIDEMIC_INFECTED_REALM_BASE_ITEM_SIZE
	# How big is the base size of epidemic_infected_realm_item before any
	# epidemic_infected_province_item is expanded to it?
	#
	# This is required for performance reasons.
	#
	EPIDEMIC_INFECTED_REALM_BASE_ITEM_SIZE = { 556 73 }
}

NCharacterInteractionMenu = {
	# How close to the right screen edge the menu has to be when opened to appear on the left instead

	# Current value based on the size of the right side panels,
	# we like that any menu opened on a portrait on that side appears on the left
	PLACE_ON_THE_LEFT_TRESHOLD = 580.0
}
